#include "Tag.h"
#include "StringHahser.h"

using namespace tagfolder;

Tag::Tag() : m_tag("") {
    computeHashCode();
}

Tag::Tag( Tag& tag)
    : m_tag( tag.m_tag), m_hash( tag.hash){
    }

Tag::~Tag() {
}

unsigned long Tag::getHashCode(){
    return m_hash;
}

void Tag::computeHashCode(){
    StringHasher& hasher=StringHasher::getInstance();
    hasher.makeHash( m_tag.c_str());
}

const char* Tag::getChars(){
    return m_tag.c_str();
}

Tag& Tag::operator = ( Tag& tag){
    m_tag=tag.m_tag;
    m_hash=tag.m_hash;
    return (*this);
}

bool Tag::operator == ( Tag& tag){
    return (0==m_tag.compare(tag.m_tag));
}


